package com.tbit.uqbike.service.business;


import com.tbit.common.entity.view.Result;
import com.tbit.uqbike.object.pojo.StudentAuthApply;
import com.tbit.uqbike.object.pojo.dto.StudentAuthApplyDTO;
import com.tbit.uqbike.object.value.LoginInfo;

import java.util.Date;
import java.util.List;

/**
 * @author chenmengran
 * @Description: 学生认证
 * @date 2020\1\6 000610:22
 */

public interface StudentAuthApplyService {

    /**
     * 学生认证分页
     *
     * @param accountId
     * @param checkState
     * @return
     */
    List<StudentAuthApply> queryPage(Integer accountId, Integer checkState, Date startDate, Date endDate);

    /**
     * 学生认证分页
     *
     * @param accountId
     * @param checkState
     * @param name
     * @param studentNO
     * @param phone 用户手机号码
     * @param sortName
     * @param rowCount
     * @param pageNO
     * @return
     */
    List<StudentAuthApplyDTO> queryPageV2(Integer accountId, Integer checkState,
                                          String name, String studentNO,String phone, String sortName,
                                          Integer rowCount, Integer pageNO,
                                          String startDate,
                                          String endDate);

    /**
     * 学生认证获取总数
     *
     * @param accountId
     * @param checkState
     * @param name
     * @param studentNO
     * @return
     */
    Integer getTotal(Integer accountId, Integer checkState, String name, String studentNO,String phone,String startDate,
                     String endDate);

    /**
     * 修改学生认证
     *
     * @param loginInfo
     * @param applyId
     * @param checkOpinion
     * @param agree
     * @param studentIdNo
     */
    void edit(LoginInfo loginInfo, Integer applyId, String checkOpinion, Integer agree, String studentIdNo);

    void clearAuthInfo(Integer userId);
    /**
     * 获取学生认证详情
     *
     * @param userId 用户id
     */
    Result<StudentAuthApply> getStudentApplyById(Integer userId);
}
